// 获取资源中间件

module.exports = options => {
    return async(req, res, next) => {
        // 中间件，用来处理动态获取数据模型，根据资源，处理完成后，调用next函数，继续处理下一个中间件

        // 使用inflection 的classify方法转化成类名形式
        const resource = require('inflection').classify(`${req.params.resource}`) 
        // 根据resource，获取对应的数据模型,并且挂在到req上面，供后面的中间件访问
        req.Model = require(`../models/${resource}`) 
        next()
    }
}